import { IPSDEField } from '../defield/ipsdefield';
import { IPSDELogic } from './ipsdelogic';

/**
 *
 * 子接口类型识别属性[]
 * 继承父接口类型值[DEFIELD]
 * @export
 * @interface IPSDEFLogic
 */
export interface IPSDEFLogic extends IPSDELogic {
  /**
   * 属性逻辑模型
   * @description 值模式 [属性逻辑模式] {COMPUTE：计算值、 DEFAULT：默认值、 ONCHANGE：变更触发、 CHECK：检查值、 USER：用户自定义、 USER2：用户自定义2、 USER3：用户自定义3、 USER4：用户自定义4 }
   * @type {( string | 'COMPUTE' | 'DEFAULT' | 'ONCHANGE' | 'CHECK' | 'USER' | 'USER2' | 'USER3' | 'USER4')}
   */
  dEFLogicMode: string | 'COMPUTE' | 'DEFAULT' | 'ONCHANGE' | 'CHECK' | 'USER' | 'USER2' | 'USER3' | 'USER4';

  /**
   * 实体属性
   *
   * @type {IPSDEField}
   */
  getPSDEField(): IPSDEField | null;

  /**
   * 实体属性
   *
   * @type {IPSDEField}
   */
  get psDEField(): IPSDEField | null;

  /**
   * 实体属性（必须存在）
   *
   * @type {IPSDEField}
   */
  getPSDEFieldMust(): IPSDEField;
}
